/*
 * Copyright 2015-2019 Evun Technology. 
 * 
 * This software is the confidential and proprietary information of
 * Evun Technology. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with evun.cn.
 */
package cn.evun.sweet.demo.controller;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;

import cn.evun.sweet.base.controller.AbstractLoginController;
import cn.evun.sweet.base.util.UserContext;
import cn.evun.sweet.core.common.R;
import cn.evun.sweet.demo.model.UserDo;

/**
 * 登录登出控制器
 *
 * @author yangw
 * @since 1.0.0
 */
@Controller
public class LoginController extends AbstractLoginController {

	/* 
	 * 这里可以用来加载当前用户可访问的系统资源。这里返回的Map，会直接通过setProperty(key,value)的方式置入session上下文中。<br/>
	 * 在此之前，UserBase（R.session.user_info）、OrgBase（R.session.user_info）、TenantBase（R.session.user_info）
	 * 等登录用户信息已经通过上面的路径置入到其中。如果你需要修改已经内置好的信息，可以通过key覆盖路径的方式重新置入数据。
	 */
	@Override
	protected Map<String, Object> getUserResource() {
		Map<String, Object> result = new HashMap<String, Object>();
		UserDo user =  new UserDo();
		BeanUtils.copyProperties(UserContext.getUser(), user);
		user.setUserSign("具体使用方法请查询Demo的对应源代码");
		user.setUserRole(UserDo.USER_ROLE_ADMIN);
		result.put(R.session.user_info, user);
		return result;
	}

	/* 
	 * 退出会话之前的清理工作。
	 */
	@Override
	protected void cleanBeforeLogout() {
		
	}

}
